Method of generating an enable signal of a standard memory core and relative memory device

ABSTRACT

A memory device is configured for communicating with one of two different serial protocols, respectively an LPC or an SPI protocol, as well as with a parallel communication protocol through a multi-protocol interface while requiring only a single additional pin as compared to a standard memory device accessible with a parallel communication protocol. This result is achieved by exploiting the same pin for providing a timing signal for serial mode communications or an address multiplexing signal for parallel mode communications. The additional pin is used for conveying a start signal of an A/AMUX parallel communication protocol. The interface includes logic circuits that generate an enable signal for the standard memory core of the memory device.

FIELD OF THE INVENTION

The present invention relates in general to memory devices, and more particularly, to a memory device that supports different communication protocols by recognizing the protocol of the coded data.

BACKGROUND OF THE INVENTION

Volatile and non-volatile memory devices have a number of applications, such as in digital cameras and measuring instruments, for example. A functional block diagram of a common memory device supporting the serial communication protocol known as the Firmware Hub protocol, and another commonly used serial communication protocol known as the low pin count type (LPC) is shown in FIG. 1.

These serial communication protocols may be supported by the same device because the protocols require compatible characteristics. That is, they may be alternately used in memory devices having the same arrangement and number of I/O pins (4). This may include, in particular, a dedicated pin for the provision of an externally generated timing signal CK_PAD, and a dedicated pin for the provision of the start signal of the preamble LFRAME.

Typically these memory devices include a standard flash memory core having a serial communication interface LPC/FWH INTERFACE coupled to four I/O pins LPC_PAD<3:0> for transferring data and addresses to a dedicated pin for receiving a clock signal CK_PAD, and to another dedicated pin LFRAME for receiving a start signal of a cycle of the communication protocol. The interface generates the internal commands Chip Enable (CE) and Write Enable (WE), respectively, to enable the standard memory core and to permit writing operations in the memory array.

The device receives through the pins connected to the external bus LPC/FWH BUS the commands relative to the various cycles of the communication protocol, addresses and data. The data received through LPC_PAD<3:0> are arranged in a parallel mode by the interface for conveying them to the standard memory core FLASH CORE through the internal address bus ADDR<20:0>and the internal data bus DBUS<15:0>.

A configuring circuit CAM SETTING generates a logic signal CAM that configures the memory device for either the Firmware Hub communication protocol or for a different LPC protocol. During a test-on-wafer or EWS phase of the fabrication process of the device, the CAM SETTING circuit is permanently configured to make the fabricated memory device capable of functioning with a Firmware Hub protocol or with a different LPC protocol. This is based on the customer's specification.

Typically, the CAM SETTING circuit contains a non-volatile memory cell, for example a FLASH EPROM, that stores a CAM bit that specifies the type of serial communication protocol that is enabled. This way of fabricating memory devices is convenient for the manufacturer because it permits the same memory device to be fabricated, which is eventually configured based upon the customer's preference during a final step of the fabrication process for the selected serial communication protocol of the two possible alternatives.

FIG. 2 shows an input buffer of the memory device of FIG. 1. An internal signal INTERNAL_SIGNAL is produced as replica of an input signal available on any one of the input pins (INPUT_PIN) only if the inverted replica CE_N of the Chip Enable signal assumes the low logic state. When the signal CE_N assumes the high logic state, the node on which the INTERNAL_SIGNAL is produced is grounded (GND).

FIG. 3 shows a typical output buffer of the memory device of FIG. 1. The output buffer is substantially a pull-up_pull-down stage driven by a logic signal EN and by its inverted replica EN_N, to be replicated on an output pin of the device (OUTPUT_PIN).

FIG. 4 shows the sequence of cycles for performing a read operation according to a Firmware Hub protocol, which includes the following cycles. A Start_Code preamble signals the start of a protocol cycle and specifies whether a write operation or a read operation is requested. An Idsel_Code cycle identifies the memory device called to transfer data with the external system host. Seven Add_Code cycles communicate the address of the memory location in which the external host is to perform either a read or write operation. A Msize cycle specifies the number of bytes that is to be read, and two Tar_Code cycles by which the external host gives control of the system bus to the memory device.

After these last two cycles, the standard FLASH CORE memory engages the system bus. Thereafter, the FLASH CORE generates wait cycles Sync_Code, during which it performs internal operations. Once the reading of data has been completed, the FLASH CORE delivers the read data through the cycles Data_L and Data_H, and thereafter, by two more Tar_Code cycles, the FLASH CORE relinquishes control of the system bus to the external host.

As mentioned above, this type of memory device is permanently configured at the end of the fabricating process to utilize only a selected serial communication protocol, for example a Firmware Hub protocol or a different LPC protocol. In general, so-called LPC protocols distinguish among themselves by the sequence of cycles through which the standard memory core is accessed. These protocols have in common the fact of using a start signal supplied to the device through a dedicated pin LFRAME, and the fact that the communication of data or commands is timed by a clock signal supplied to the device through a dedicated pin CK_PAD.

On the other hand, another serial mode access protocol that is frequently utilized is the so-called SPI protocol. This protocol requires a clock pin CK_PAD, a selection pin SELECT, an input pin and an output pin. A sample sequence of the cycles of an SPI protocol is depicted in FIG. 5. The leading high-to-low transition edge of the SELECT signal starts the SPI communication protocol. During the first eight clock cycles instructions on the operations to be carried out are received and the interface recognizes whether a read or a write operation is requested. In the successive twenty-four clock cycles, addresses of the memory location to be accessed are communicated.

Thereafter, data are transmitted in n clock cycles. Finally, the trailing edge (low-to-high transition) of the SELECT signal indicates that the read or write operation is complete. Moreover, often the user must preliminary program the standard memory core of the device. In view of the fact that such a preliminary program operation implies the writing of a large quantity of data, it is more convenient to access the memory device in a parallel mode rather than in a serial mode.

For this reason memory devices have been developed to be capable of selectively functioning with a serial or with a parallel communication protocol. Normally, these devices have a dedicated pin for receiving a selection signal IC for a parallel mode of operation. When the selection signal IC is inactive, the memory devices function in a serial mode, communicating according to a SPI protocol. Otherwise, the memory devices function according to a parallel communication protocol.

Such an optionally selectable parallel communication protocol may be supported by memory devices that have at least 11 address pins, 8 I/O data pins and which use a control signal for multiplexing the addresses when functioning in a parallel access mode. The parallel functioning is automatically selected by the IC signal, and when it is active, the standard memory core is automatically enabled. Data are read from the memory by column and by rows, depending on the logic value of an address multiplexing signal RC, as depicted in FIG. 6.

A parallel communication protocol having such characteristics may be defined as an A/AMUX protocol (shortly for address/address multiplexer). Because of the different requirements of specific serial communication protocols and of parallel communication protocols, it has not been possible so far to form memory devices that could be configured at fabrication level for supporting a Firmware Hub serial communication protocol or a different LPC serial communication protocol besides an SPI serial communication protocol and a parallel communication protocol of the type A/AMUX, without significantly increasing the number of pins. However, an increase in the number of pins is often unacceptable or costly.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a memory device that may be configured for communicating with either a predetermined LPC serial protocol or with a serial SPI protocol, in addition to a parallel communication protocol A/AMUX, through a multiprotocol interface, and the memory is to require only one additional pin as compared to a memory device capable of being accessed with a parallel A/AMUX parallel communication protocol.

According to the invention, the same pin is exploited for either conveying a timing signal for communicating in a serial mode or an address multiplexing signal for communicating in a parallel mode. The single pin is for conveying a start signal of an A/AMUX parallel communication protocol, and is included within the interface logic circuits that generate the enable signal of the standard memory core of the device.

A further object of the invention is to provide a method for generating an enabling signal of a memory device selectively accessible with an LPC or a SPI serial communication protocol or with a parallel communication protocol A/AMUX.

The memory device comprises a standard memory core, and a multi-protocol interface receiving a synchronization signal and a start signal of a serial communication protocol. An enabling signal of the standard memory core is generated and conveyed to the standard memory core data and/or addresses. The memory device comprises a decoding circuit of two different serial protocols and of a parallel A/AMUX protocol, coupled to the external data bus and to the external address bus. The decoding circuit receives at an input a logic signal for configuration and exchanges with the standard memory core data and addresses through internal buses of the device. A configuring circuit generates the logic signal for configuration supplied to the multi-protocol interface, and chooses between two different serial communication protocols.

According to the method of the invention, the enabling signal (Chip Enable) is generated as the logic combination of a select signal of a parallel mode of access provided to the multi-protocol interface, of the logic configuration signal, of the start signal and of the four least significant bits of the external data bus.

BRIEF DESCRIPTION OF THE DRAWINGS

The different aspects and advantages of this invention will become even more evident through the following detailed description of an embodiment and by referring to the attached drawings, wherein:

FIG. 1 shows a common memory device for implementing a Firmware Hub protocol or other LPC protocol according to the prior art;

FIG. 2 shows an input buffer commonly used in the memory device of FIG. 1;

FIG. 3 shows a typical output buffer used in the common memory device of FIG. 1;

FIG. 4 shows the cycle of the Firmware Hub protocol for carrying out a read operation in a serial mode according to the prior art;

FIG. 5 shows the cycles of an SPI protocol for carrying out a read operation in a serial mode according to the prior art;

FIG. 6 shows the cycles of a parallel communication A/AMUX protocol for carrying out a read operation according to the prior art;

FIG. 7 is a basic diagram of a memory device according to the present invention;

FIG. 8 is a more detailed illustration of the memory device according to the present invention;

FIG. 9 shows a preferred embodiment of the logic circuit that generates the enable signal according to the present invention;

FIG. 10 shows a preferred embodiment of the circuit of FIG. 9; and

FIG. 11 shows an input buffer of the memory device according to the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The memory device of the invention, depicted in FIG. 7, supports serial communication protocols LPC and SPI and a parallel communication protocol. The device contains a multi-protocol interface capable of communicating by using anyone of the supported protocols, and requires only an additional pin (LFRAME/SELECT) compared to a standard memory device accessed in parallel mode. This is achieved by exploiting the same pins for providing signals of different objects to the memory device depending on the communication protocol being used.

In the embodiment shown, the device of FIG. 7 is interfaced with an external data bus DATA<7:0>, and to an external address bus A<10:0>and has a first pin on which it receives an externally generated timing signal CLK (necessary for serial mode communications) or an address multiplexing signal RC (for parallel mode communications), a second pin on which it receives a start signal LFRAME/SELECT for either a serial communication protocol (LFRAME) or for a parallel communication protocol (SELECT), and a third pin on which it receives a selection signal IC for communication in a parallel mode.

When the signal IC is active, the signal RC is provided on the first pin, data and memory addresses are conveyed on the buses DATA <7:0> and A<10:0> and the second pin LFRAME/SELECT remains unused. Conversely, when the signal IC is not active and therefore the memory core is being accessed with a serial communication protocol, on the same first pin is provided the timing signal CLK, the external address bus A<10:0> remains unused, and only the four least significative bits LPG<3:0>/DATA <3:0> of the external data bus are used.

A problem that has been successfully overcome to form the memory device accessible with different protocols while requiring the minimum number of additional pins (only one additional pin), is the generation of the enable signal CE (Chip Enable) for the standard memory core FLASH CORE.

According to the invention, it has been found that such a signal may be generated as a logic combination of the signals available on second pin LFRAME/SELECT and on the third pin IC, and of the configuration signal CAM that is internally generated within the device for selecting between the two different serial communication protocols that are supported. To more clearly illustrate the manner in which this is made possible, reference can be made to FIG. 8 showing a more detailed preferred embodiment of the memory device of the invention.

The device includes a standard memory core Flash Core, a configuration circuit CAM_SETTING that generates the logic configuration signal CAM, and a multi-protocol interface composed by the other circuit blocks. A command circuit LPC COMMAND DECODER generates a logic circuit START_LATCHED that becomes active when a start cycle of a serial communication protocol is received, and in consideration of the fact that such a circuit is no longer necessary if the memory core is to be accessed in a parallel mode, it is disabled by the IC signal.

The configuration signal CAM specifies which of the two serial protocols is being utilized, the signal LFRAME/SELECT indicates the start of the protocol and only the four least significative bits of the external data bus LPC<3:0> are used for transmitting data frames. The enable signal CE is generated by a logic circuit CE_GEN which combines the IC, LFRAME/SELECT, START_LATCHED and CAM signals.

According to the method of the invention, the enable signal CE is active when a parallel communication mode is selected (when the signal IC is active), or while in a parallel communication mode of operation when a start signal LFRAME/SELECT of a serial communication protocol is received and the first cycle thereof is correctly recognized immediately after a start cycle of a serial communication protocol.

The standard memory core FLASH CORE may exchange data and/or addresses with the multi-protocol interface through banks of address latches ADDLATCHED<31:0> and data latches DATA<15:0> under the enabling control of a state machine STATE MACHINE, respectively through the enabling signals EN_ADD and EN_DATA. The circuit block I/O_BUS_MUX that forms the core of the multi-protocol interface is coupled to the external buses, and exchanges through the external buses data and addresses of the standard memory core of the device.

FIG. 9 shows a preferred embodiment of the logic circuit CE_GEN. The logic circuit CE_GEN is basically formed by a circuit C_G generating a signal LFRAME2 that is obtained as a logic combination of the signals LFRAME and START_LATCHED, and by a pair of multiplexers MUX connected in cascade and controlled by the signal CAM and IC, respectfully.

When the parallel communication mode A/AMUX is selected, the enable signal CE coincides with the selection signal IC. Conversely, when the memory is to be accessed in a serial mode, the signal IC takes the low logic value and the enable signal CE coincides with the output of the first multiplexer of the pair in cascade. This first multiplexer of the pair selects either the signal LFRAME or the signal LFRAME2 depending on whether the configuration signal CAM identifies either a Firmware Hub protocol (or other LPC protocol) or a SPI protocol.

A preferred embodiment of the C_G circuit is shown in FIG. 10. Accordingly, the signal LFRAME2 is active if the signal START_LATCHED is active, or if it is active a delayed and inverted replica of the start signal LFRAME. It is preferable that the signal LFRAME2 be generated in this way to avoid, because of internal propagation delays, the signal START_LATCHED becomes active after the output of the NAND gate has taken a logic null value, which would cause a spurious switching of the enable signal CE.

Finally, assuming that the memory device is to function with a PCI bus implementing an LPC protocol, as well as with a SPI bus with a single input bit and a single output bit, input buffers that are compatible with a SPI bus are to be used, for example of the type shown in FIG. 11, rather than common input buffers as the one shown in FIG. 2. 

1-8. (Cancelled).
 9. A method for generating an enable signal in a memory device selectably accessible with an LPC or an SPI serial communication protocol or with an A/AMUX parallel communication protocol, the memory device comprising first, second and third pins; a memory core; a multi-protocol interface coupled to an external data bus, to an external address bus, to the first pin for receiving a timing signal, to the second pin for receiving a first start signal of one of the serial communication protocols or of the parallel communication protocol; and an internal data bus and an internal address bus for transferring data and addresses between the memory core and the multi-protocol interface; the multi-protocol interface comprising a decoding circuit for the serial communication protocols and the parallel communication protocol, the decoding circuit coupled to the external data bus, to the external address bus, to the first and third pins, and having an input for receiving a logic configuration signal, and exchanging with the memory core data and addresses through the internal data and address busses; the method comprising: generating the logic configuration signal for the multi-protocol interface for selecting between the LPC and SPI serial communication protocols; providing the logic selection signal via the third pin to the multi-protocol interface for the parallel communication protocol, with memory addresses to be accessed based upon the parallel communication protocol through the external address bus and with the address multiplexing signal provided via the first pin for the parallel communication protocol; and generating the enable signal for the memory core as a logic combination of the logic selection signal, of the logic configuration signal, of the first start signal of one of the serial communication protocols or of the parallel communication protocol, and of an internally generated second start signal that is active during execution of the serial communication protocol.
 10. A method of claim 9, wherein the enabling signal is as follows: a replica of the logic selection signal if the parallel communication protocol is being executed, or if one of the serial communication protocols is being executed, then as a replica of the first start signal of the serial communication protocol, or of the parallel communication protocol depending on a logic value of the logic configuration signal, or as a third start signal of the serial communication protocol when a start cycle of the serial communication protocol is recognized, or when a delayed and edge inverted replica of the first start signal is at an active logic state.
 11. A method of claim 10, wherein the internally generated second start signal switches to an active logic value as soon as the first start cycle of the serial communication protocol is detected, and maintains the active logic state for an entire duration of the serial communication protocol; and generating the third start signal as a logic OR of the internally generated second start signal and of an edge delayed and inverted replica of the first start signal.
 12. A method for generating an enable signal in a memory device selectably accessible between two distinct serial communication protocols and between a parallel communication protocol, the memory device comprising first, second and third pins; a memory core; a multi-protocol interface coupled to an external data bus, to an external address bus, to the first pin for receiving a timing signal, to the second pin for receiving a first start signal of one of the serial communication protocols or of the parallel communication protocol; and an internal data bus and an internal address bus for transferring data and addresses between the memory core and the multi-protocol interface; the method comprising: generating a logic configuration signal for the multi-protocol interface for selecting between the two distinct serial communication protocols; providing a logic selection signal via the third pin to the multi-protocol interface for the parallel communication protocol, with memory addresses to be accessed based upon the parallel communication protocol through the external address bus and with an address multiplexing signal provided via the first pin for the parallel communication protocol; and generating the enable signal for the memory core as a logic combination of the logic selection signal, of the logic configuration signal, of the first start signal of one of the serial communication protocols or of the parallel communication protocol, and of an internally generated second start signal that is active during execution of the serial communication protocol.
 13. A method of claim 12, wherein the enabling signal is as follows: a replica of the logic selection signal if the parallel communication protocol is being executed, or if one of the serial communication protocols is being executed, then as a replica of the first start signal of the serial communication protocol, or of the parallel communication protocol depending on a logic value of the logic configuration signal, or as a third start signal of the serial communication protocol when a start cycle of the serial communication protocol is recognized, or when a delayed and edge inverted replica of the first start signal is at an active logic state.
 14. A method of claim 13, wherein the internally generated second start signal switches to an active logic value as soon as the start cycle of the serial communication protocol is detected, and maintains the active logic state for an entire duration of the serial communication protocol; and generating the third start signal as a logic OR of the internally generated second start signal and of an edge delayed and inverted replica of the first start signal.
 15. A method of claim 12, wherein the two distinct serial communication protocols comprise a low pin count (LPC) protocol and an SPI protocol; and wherein the parallel communication protocol comprises an A/AMUX protocol.
 16. A memory device comprising first, second and third pins; a memory core; a multi-protocol interface coupled to an external data bus, to an external address bus, to said first pin for receiving a timing signal, and to said second pin for receiving a first start signal of one of two distinct serial communication protocols or of a parallel communication protocol; a configuration circuit for generating a logic configuration signal for said multi-protocol interface for selecting between the two distinct serial communication protocols; and an internal data bus and an internal address bus for transferring data and addresses between said memory core and said multi-protocol interface; said multi-protocol interface receiving a logic selection signal via said third pin for the parallel communication protocol, with memory addresses to be accessed based upon the parallel communication protocol through the external address bus, and with an address multiplexing signal being received via said first pin for the parallel communication protocol, and generating the enable signal for said memory core as a logic combination of the logic selection signal, of the logic configuration signal, of the first start signal of one of the serial communication protocols or of the parallel communication protocol, and of an internally generated second start signal that is active during execution of the serial communication protocol, said multi-protocol interface comprising a decoding circuit for the serial communication protocols and the parallel communication protocol, said decoding circuit coupled to the external data bus, to the external address bus, to said first and third pins and having an input for receiving the logic configuration signal, and exchanging with said memory core data and addresses through said internal data and address busses.
 17. A memory device of claim 16, wherein said multi-protocol interface comprises a configuration logic circuit for generating the enable signal as follows: as a replica of the logic selection signal if the parallel communication protocol is being executed, or if one of the serial communication protocols is being executed, then as a replica of the first start signal of the serial communication protocol or of the parallel communication protocol depending on a logic value of the logic configuration signal, or as a third start signal of the serial communication protocol when a start cycle of the serial communication protocol is recognized, or when a delayed and edge inverted replica of the first start signal is at an active logic state.
 18. A memory device of claim 17, wherein said multi-protocol interface further comprises: a command circuit activated based upon the logic selection signal and receiving as input the first start signal, the logic configuration signal and least significant bits of the external data bus, and generating the second start signal of a bit frame of data or a command that switches to an active logic value as soon as the first start cycle of the serial communication protocol has been detected and remains in an active state for an entire duration of the serial communication protocol; and a logic circuit for generating the enable signal, and receiving as input the first start signal, the second start signal, the logic selection signal and the logic configuration signal, and comprising a generating circuit for generating the third start signal as the logic OR of the second start signal and of the edge delayed and inverted replica of the first start signal.
 19. A memory device of claim 18, wherein said generating circuit comprises: a NAND gate having an input for receiving the first start signal and an edge delayed replica of the first start signal; and an OR gate connected in cascade to an output of said NAND gate, and receiving as input the second start signal and generating the third start signal as an output.
 20. A memory device of claim 19, wherein said logic circuit comprises: a first multiplexer being controlled by the logic configuration signal for selecting between the first start signal and the third start signal; and a second multiplexer connected in cascade to said first multiplexer and receiving as input the logic selection signal, and outputting the enable signal.
 21. A memory device of claim 16, wherein the two distinct serial communication protocols comprise a low pin count (LPC) protocol and an SPI protocol; and wherein the parallel communication protocol comprises an A/AMUX protocol.
 22. A memory device comprising first, second and third pins; a memory core; a multi-protocol interface coupled to an external data bus, to an external address bus, to said first pin for receiving a timing signal, and to said second pin for receiving a first start signal of one of two distinct serial communication protocols or of a parallel communication protocol; a configuration circuit for generating a logic configuration signal for said multi-protocol interface for selecting between the two distinct serial communication protocols; and an internal data bus and an internal address bus for transferring data and addresses between said memory core and said multi-protocol interface; said multi-protocol interface receiving a logic selection signal via said third pin for the parallel communication protocol, with memory addresses to be accessed based upon the parallel communication protocol through the external address bus, and with an address multiplexing signal being received via said first pin for the parallel communication protocol, and generating the enable signal for said memory core as a logic combination of the logic selection signal, of the logic configuration signal, of the first start signal of the serial communication protocol or of the parallel communication protocol, and of an internally generated second start signal that is active during execution of the serial communication protocol.
 23. A memory device of claim 22, wherein said multi-protocol interface comprises a configuration logic circuit for generating the enable signal as follows: as a replica of the logic selection signal if the parallel communication protocol is being executed, or if one of the serial communication protocols is being executed, then as a replica of the first start signal of the serial communication protocol or of the parallel communication protocol depending on a logic value of the logic configuration signal, or as a third start signal of the serial communication protocol when a start cycle of the serial communication protocol is recognized, or when a delayed and edge inverted replica of the first start signal is at an active logic state.
 24. A memory device of claim 23, wherein said multi-protocol interface further comprises: a command circuit activated based upon the logic selection signal and receiving as input the first start signal, the logic configuration signal and least significant bits of the external data bus, and generating the second start signal of a bit frame of data or a command that switches to an active logic value as soon as the first start cycle of the serial communication protocol has been detected and remains in an active state for an entire duration of the serial communication protocol; and a logic circuit for generating the enable signal, and receiving as input the first start signal, the second start signal, the logic selection signal and the logic configuration signal, and comprising a generating circuit for generating the third start signal as the logic OR of the second start signal and of the edge delayed and inverted replica of the first start signal.
 25. A memory device of claim 24, wherein said generating circuit comprises: a NAND gate having an input for receiving the first start signal and an edge delayed replica of the first start signal; and an OR gate connected in cascade to an output of said NAND gate, and receiving as input the second start signal and generating the third start signal as an output.
 26. A memory device of claim 25, wherein said logic circuit comprises: a first multiplexer being controlled by the logic configuration signal for selecting between the first start signal and the third start signal; and a second multiplexer connected in cascade to said first multiplexer and receiving as input the logic selection signal, and outputting the enable signal.
 27. A memory device of claim 22, wherein the two distinct serial communication protocols comprise a low pin count (LPC) protocol and an SPI protocol; and wherein the parallel communication protocol comprises an A/AMUX protocol. 